package cn.lee.cplibrary.util;

import android.text.TextUtils;


/**
 * 分段打印出较长log文本 不适用列表会OOM
 * 使用打印base64图片数据
 * 日志也有可能不准确，仅供参考作用
 */
public class LargeLogUtil extends LogUtil {
    private static int showLength = 3999;

    /**
     * 分段打印出较长log文本 不适用列表会OOM
     * 使用打印base64图片数据
     */
    public static void info(String tag, Object obj, String msg) {
        if (!isDebug()) {
            return;
        }
        if (msg.length() > showLength) {
            String show = msg.substring(0, showLength);
            android.util.Log.i(getTag(tag), show);
            /*剩余的字符串如果大于规定显示的长度，截取剩余字符串进行递归，否则打印结果*/
            if ((msg.length() - showLength) > showLength) {
                String partLog = msg.substring(showLength);
                info(getTag(tag), obj, partLog);
            } else {
                String printLog = msg.substring(showLength);
                android.util.Log.i(getTag(tag), printLog);
            }
        } else {
            android.util.Log.i(getTag(tag), msg);
        }
    }

    private static String getTag(String tag) {
        if (TextUtils.isEmpty(tag)) {
            tag = TAG;
        }
        return tag;
    }
}
